// var i;
// var $bundleConfig = require("./BundleConfig");
// var $resKeeper = require("./ResKeeper");
// var d = cc._decorator;
// var p = d.ccclass;
// var h = (d.property, d.inspector);
// var f = (function (e) {
//     function t() {
//         return (null !== e && e.apply(this, arguments)) || this;
//     }
//     __extends(t, e);
//     t.prototype.setValue = function (e) {
//         return __awaiter(this, void 0, void 0, function () {
//             var t;
//             var o;
//             var n;
//             var i;
//             var a;
//             var r;
//             var c;
//             var u;
//             var d;
//             return __generator(this, function (s) {
//                 switch (s.label) {
//                     case 0:
//                         t = e.length;
//                         o = this.node.children;
//                         n = o.length;
//                         i = Math.max(t, n);
//                         a = 0;
//                         s.label = 1;
//                     case 1:
//                         if (a < i) {
//                             return (
//                                 (r = e[a]),
//                                 (c = o[a]),
//                                 r
//                                     ? c
//                                         ? ((u = c.getComponent(cc.Sprite)),
//                                           [
//                                               4,
//                                               this._loadRes(
//                                                   $bundleConfig.BundleNames.Common,
//                                                   "res/player/boss_" + r,
//                                                   cc.SpriteFrame
//                                               )
//                                           ])
//                                         : [3, 3]
//                                     : [3, 4]
//                             );
//                         } else {
//                             return [3, 6];
//                         }
//                     case 2:
//                         d = s.sent();
//                         u.spriteFrame = d;
//                         c.active = !0;
//                         c.width = "1" == r ? 10 : 15;
//                         s.label = 3;
//                     case 3:
//                         return [3, 5];
//                     case 4:
//                         if (c) {
//                             c.active = !1;
//                         }
//                         s.label = 5;
//                     case 5:
//                         a++;
//                         return [3, 1];
//                     case 6:
//                         return [2];
//                 }
//             });
//         });
//     };
//     return __decorate([p], t);
// })($resKeeper.default);
// exports.default = f;

// import {BundleNames} from "./BundleConfig";
// import ResKeeper from "./ResKeeper";

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * 建议类名: ResourceHandler
//  */
// @ccclass
// class AutoImagZiTi extends ResKeeper {
//     /**
//      * 设置节点的值
//      * @param value - 需要设置的值
//      * 建议方法名: setNodeValue
//      */
//     public async setValue(value: string): Promise<void> {
//         const children = this.node.children;
//         const childrenCount = children.length;

//         for (let index = 0; index < childrenCount; index++) {
//             const child = children[index];

//             if (value) {
//                 if (child) {
//                     const spriteComponent = child.getComponent(cc.Sprite);
//                     const spriteFrame = await this._loadRes(
//                         BundleNames.Common,
//                         `res/player/boss_${value}`,
//                         cc.SpriteFrame
//                     );
//                     spriteComponent.spriteFrame = spriteFrame;
//                     child.active = true;
//                     child.width = value === "1" ? 10 : 15;
//                 }
//             } else {
//                 if (child) {
//                     child.active = false;
//                 }
//             }
//         }
//     }
// }

// export default AutoImagZiTi;

import { BundleNames } from "./BundleConfig";
import ResKeeper from "./ResKeeper";

const { ccclass, property, inspector } = cc._decorator;

/**
 * 建议类名：AutoImageFont
 * 自动设置节点的图片字体
 */
@ccclass
export default class AutoImagZiTi extends ResKeeper {

    /**
     * 建议方法名：setSprites
     * 设置节点的 SpriteFrame，通过资源路径动态加载。
     * @param {string[]} spriteFrameNames - SpriteFrame 名称数组。
     * @returns {Promise<void>} 等待设置完成。
     */
    async setSprites(spriteNames: string): Promise<void> {
        const totalFrames: number = spriteNames.length;
        const children = this.node.children;
        const totalChildren: number = children.length;
        const loopCount: number = Math.max(totalFrames, totalChildren);

        for (let index = 0; index < loopCount; index++) {
            const spriteName: string = spriteNames[index];
            const node = children[index];

            if (spriteName) {
                if (node) {
                    const sprite = node.getComponent(cc.Sprite);
                    const spriteFrame = await this._loadRes(
                        BundleNames.Common,
                        `res/player/boss_${spriteName}`,
                        cc.SpriteFrame
                    );
                    sprite.spriteFrame = spriteFrame;
                    node.active = true;
                    node.width = spriteName === "1" ? 10 : 15;
                }
            } else if (node) {
                node.active = false;
            }
        }
    }
}